package com.tms.domain.example;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ToolDefExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ToolDefExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andFamilyIdIsNull() {
            addCriterion("family_id is null");
            return (Criteria) this;
        }

        public Criteria andFamilyIdIsNotNull() {
            addCriterion("family_id is not null");
            return (Criteria) this;
        }

        public Criteria andFamilyIdEqualTo(Integer value) {
            addCriterion("family_id =", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdNotEqualTo(Integer value) {
            addCriterion("family_id <>", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdGreaterThan(Integer value) {
            addCriterion("family_id >", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("family_id >=", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdLessThan(Integer value) {
            addCriterion("family_id <", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdLessThanOrEqualTo(Integer value) {
            addCriterion("family_id <=", value, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdIn(List<Integer> values) {
            addCriterion("family_id in", values, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdNotIn(List<Integer> values) {
            addCriterion("family_id not in", values, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdBetween(Integer value1, Integer value2) {
            addCriterion("family_id between", value1, value2, "familyId");
            return (Criteria) this;
        }

        public Criteria andFamilyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("family_id not between", value1, value2, "familyId");
            return (Criteria) this;
        }

        public Criteria andModelIsNull() {
            addCriterion("model is null");
            return (Criteria) this;
        }

        public Criteria andModelIsNotNull() {
            addCriterion("model is not null");
            return (Criteria) this;
        }

        public Criteria andModelEqualTo(String value) {
            addCriterion("model =", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotEqualTo(String value) {
            addCriterion("model <>", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThan(String value) {
            addCriterion("model >", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThanOrEqualTo(String value) {
            addCriterion("model >=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThan(String value) {
            addCriterion("model <", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThanOrEqualTo(String value) {
            addCriterion("model <=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLike(String value) {
            addCriterion("model like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotLike(String value) {
            addCriterion("model not like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelIn(List<String> values) {
            addCriterion("model in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotIn(List<String> values) {
            addCriterion("model not in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelBetween(String value1, String value2) {
            addCriterion("model between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotBetween(String value1, String value2) {
            addCriterion("model not between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andPartNoIsNull() {
            addCriterion("part_no is null");
            return (Criteria) this;
        }

        public Criteria andPartNoIsNotNull() {
            addCriterion("part_no is not null");
            return (Criteria) this;
        }

        public Criteria andPartNoEqualTo(String value) {
            addCriterion("part_no =", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoNotEqualTo(String value) {
            addCriterion("part_no <>", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoGreaterThan(String value) {
            addCriterion("part_no >", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoGreaterThanOrEqualTo(String value) {
            addCriterion("part_no >=", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoLessThan(String value) {
            addCriterion("part_no <", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoLessThanOrEqualTo(String value) {
            addCriterion("part_no <=", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoLike(String value) {
            addCriterion("part_no like", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoNotLike(String value) {
            addCriterion("part_no not like", value, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoIn(List<String> values) {
            addCriterion("part_no in", values, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoNotIn(List<String> values) {
            addCriterion("part_no not in", values, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoBetween(String value1, String value2) {
            addCriterion("part_no between", value1, value2, "partNo");
            return (Criteria) this;
        }

        public Criteria andPartNoNotBetween(String value1, String value2) {
            addCriterion("part_no not between", value1, value2, "partNo");
            return (Criteria) this;
        }

        public Criteria andUplIsNull() {
            addCriterion("upl is null");
            return (Criteria) this;
        }

        public Criteria andUplIsNotNull() {
            addCriterion("upl is not null");
            return (Criteria) this;
        }

        public Criteria andUplEqualTo(Integer value) {
            addCriterion("upl =", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplNotEqualTo(Integer value) {
            addCriterion("upl <>", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplGreaterThan(Integer value) {
            addCriterion("upl >", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplGreaterThanOrEqualTo(Integer value) {
            addCriterion("upl >=", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplLessThan(Integer value) {
            addCriterion("upl <", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplLessThanOrEqualTo(Integer value) {
            addCriterion("upl <=", value, "upl");
            return (Criteria) this;
        }

        public Criteria andUplIn(List<Integer> values) {
            addCriterion("upl in", values, "upl");
            return (Criteria) this;
        }

        public Criteria andUplNotIn(List<Integer> values) {
            addCriterion("upl not in", values, "upl");
            return (Criteria) this;
        }

        public Criteria andUplBetween(Integer value1, Integer value2) {
            addCriterion("upl between", value1, value2, "upl");
            return (Criteria) this;
        }

        public Criteria andUplNotBetween(Integer value1, Integer value2) {
            addCriterion("upl not between", value1, value2, "upl");
            return (Criteria) this;
        }

        public Criteria andUsedForIsNull() {
            addCriterion("used_for is null");
            return (Criteria) this;
        }

        public Criteria andUsedForIsNotNull() {
            addCriterion("used_for is not null");
            return (Criteria) this;
        }

        public Criteria andUsedForEqualTo(String value) {
            addCriterion("used_for =", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForNotEqualTo(String value) {
            addCriterion("used_for <>", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForGreaterThan(String value) {
            addCriterion("used_for >", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForGreaterThanOrEqualTo(String value) {
            addCriterion("used_for >=", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForLessThan(String value) {
            addCriterion("used_for <", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForLessThanOrEqualTo(String value) {
            addCriterion("used_for <=", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForLike(String value) {
            addCriterion("used_for like", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForNotLike(String value) {
            addCriterion("used_for not like", value, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForIn(List<String> values) {
            addCriterion("used_for in", values, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForNotIn(List<String> values) {
            addCriterion("used_for not in", values, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForBetween(String value1, String value2) {
            addCriterion("used_for between", value1, value2, "usedFor");
            return (Criteria) this;
        }

        public Criteria andUsedForNotBetween(String value1, String value2) {
            addCriterion("used_for not between", value1, value2, "usedFor");
            return (Criteria) this;
        }

        public Criteria andPmPeriodIsNull() {
            addCriterion("pm_period is null");
            return (Criteria) this;
        }

        public Criteria andPmPeriodIsNotNull() {
            addCriterion("pm_period is not null");
            return (Criteria) this;
        }

        public Criteria andPmPeriodEqualTo(Integer value) {
            addCriterion("pm_period =", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodNotEqualTo(Integer value) {
            addCriterion("pm_period <>", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodGreaterThan(Integer value) {
            addCriterion("pm_period >", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodGreaterThanOrEqualTo(Integer value) {
            addCriterion("pm_period >=", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodLessThan(Integer value) {
            addCriterion("pm_period <", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodLessThanOrEqualTo(Integer value) {
            addCriterion("pm_period <=", value, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodIn(List<Integer> values) {
            addCriterion("pm_period in", values, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodNotIn(List<Integer> values) {
            addCriterion("pm_period not in", values, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodBetween(Integer value1, Integer value2) {
            addCriterion("pm_period between", value1, value2, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andPmPeriodNotBetween(Integer value1, Integer value2) {
            addCriterion("pm_period not between", value1, value2, "pmPeriod");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIsNull() {
            addCriterion("owner_id is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIsNotNull() {
            addCriterion("owner_id is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdEqualTo(Integer value) {
            addCriterion("owner_id =", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotEqualTo(Integer value) {
            addCriterion("owner_id <>", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThan(Integer value) {
            addCriterion("owner_id >", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("owner_id >=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThan(Integer value) {
            addCriterion("owner_id <", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThanOrEqualTo(Integer value) {
            addCriterion("owner_id <=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIn(List<Integer> values) {
            addCriterion("owner_id in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotIn(List<Integer> values) {
            addCriterion("owner_id not in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdBetween(Integer value1, Integer value2) {
            addCriterion("owner_id between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("owner_id not between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRecordOnIsNull() {
            addCriterion("record_on is null");
            return (Criteria) this;
        }

        public Criteria andRecordOnIsNotNull() {
            addCriterion("record_on is not null");
            return (Criteria) this;
        }

        public Criteria andRecordOnEqualTo(Date value) {
            addCriterion("record_on =", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnNotEqualTo(Date value) {
            addCriterion("record_on <>", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnGreaterThan(Date value) {
            addCriterion("record_on >", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnGreaterThanOrEqualTo(Date value) {
            addCriterion("record_on >=", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnLessThan(Date value) {
            addCriterion("record_on <", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnLessThanOrEqualTo(Date value) {
            addCriterion("record_on <=", value, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnIn(List<Date> values) {
            addCriterion("record_on in", values, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnNotIn(List<Date> values) {
            addCriterion("record_on not in", values, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnBetween(Date value1, Date value2) {
            addCriterion("record_on between", value1, value2, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordOnNotBetween(Date value1, Date value2) {
            addCriterion("record_on not between", value1, value2, "recordOn");
            return (Criteria) this;
        }

        public Criteria andRecordByIdIsNull() {
            addCriterion("record_by_id is null");
            return (Criteria) this;
        }

        public Criteria andRecordByIdIsNotNull() {
            addCriterion("record_by_id is not null");
            return (Criteria) this;
        }

        public Criteria andRecordByIdEqualTo(Integer value) {
            addCriterion("record_by_id =", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdNotEqualTo(Integer value) {
            addCriterion("record_by_id <>", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdGreaterThan(Integer value) {
            addCriterion("record_by_id >", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_by_id >=", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdLessThan(Integer value) {
            addCriterion("record_by_id <", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdLessThanOrEqualTo(Integer value) {
            addCriterion("record_by_id <=", value, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdIn(List<Integer> values) {
            addCriterion("record_by_id in", values, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdNotIn(List<Integer> values) {
            addCriterion("record_by_id not in", values, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdBetween(Integer value1, Integer value2) {
            addCriterion("record_by_id between", value1, value2, "recordById");
            return (Criteria) this;
        }

        public Criteria andRecordByIdNotBetween(Integer value1, Integer value2) {
            addCriterion("record_by_id not between", value1, value2, "recordById");
            return (Criteria) this;
        }

        public Criteria andEditOnIsNull() {
            addCriterion("edit_on is null");
            return (Criteria) this;
        }

        public Criteria andEditOnIsNotNull() {
            addCriterion("edit_on is not null");
            return (Criteria) this;
        }

        public Criteria andEditOnEqualTo(Date value) {
            addCriterion("edit_on =", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnNotEqualTo(Date value) {
            addCriterion("edit_on <>", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnGreaterThan(Date value) {
            addCriterion("edit_on >", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnGreaterThanOrEqualTo(Date value) {
            addCriterion("edit_on >=", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnLessThan(Date value) {
            addCriterion("edit_on <", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnLessThanOrEqualTo(Date value) {
            addCriterion("edit_on <=", value, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnIn(List<Date> values) {
            addCriterion("edit_on in", values, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnNotIn(List<Date> values) {
            addCriterion("edit_on not in", values, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnBetween(Date value1, Date value2) {
            addCriterion("edit_on between", value1, value2, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditOnNotBetween(Date value1, Date value2) {
            addCriterion("edit_on not between", value1, value2, "editOn");
            return (Criteria) this;
        }

        public Criteria andEditByIdIsNull() {
            addCriterion("edit_by_id is null");
            return (Criteria) this;
        }

        public Criteria andEditByIdIsNotNull() {
            addCriterion("edit_by_id is not null");
            return (Criteria) this;
        }

        public Criteria andEditByIdEqualTo(Integer value) {
            addCriterion("edit_by_id =", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdNotEqualTo(Integer value) {
            addCriterion("edit_by_id <>", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdGreaterThan(Integer value) {
            addCriterion("edit_by_id >", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("edit_by_id >=", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdLessThan(Integer value) {
            addCriterion("edit_by_id <", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdLessThanOrEqualTo(Integer value) {
            addCriterion("edit_by_id <=", value, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdIn(List<Integer> values) {
            addCriterion("edit_by_id in", values, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdNotIn(List<Integer> values) {
            addCriterion("edit_by_id not in", values, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdBetween(Integer value1, Integer value2) {
            addCriterion("edit_by_id between", value1, value2, "editById");
            return (Criteria) this;
        }

        public Criteria andEditByIdNotBetween(Integer value1, Integer value2) {
            addCriterion("edit_by_id not between", value1, value2, "editById");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdIsNull() {
            addCriterion("workcell_id is null");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdIsNotNull() {
            addCriterion("workcell_id is not null");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdEqualTo(Integer value) {
            addCriterion("workcell_id =", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdNotEqualTo(Integer value) {
            addCriterion("workcell_id <>", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdGreaterThan(Integer value) {
            addCriterion("workcell_id >", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("workcell_id >=", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdLessThan(Integer value) {
            addCriterion("workcell_id <", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdLessThanOrEqualTo(Integer value) {
            addCriterion("workcell_id <=", value, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdIn(List<Integer> values) {
            addCriterion("workcell_id in", values, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdNotIn(List<Integer> values) {
            addCriterion("workcell_id not in", values, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdBetween(Integer value1, Integer value2) {
            addCriterion("workcell_id between", value1, value2, "workcellId");
            return (Criteria) this;
        }

        public Criteria andWorkcellIdNotBetween(Integer value1, Integer value2) {
            addCriterion("workcell_id not between", value1, value2, "workcellId");
            return (Criteria) this;
        }

        public Criteria andDeletionIsNull() {
            addCriterion("deletion is null");
            return (Criteria) this;
        }

        public Criteria andDeletionIsNotNull() {
            addCriterion("deletion is not null");
            return (Criteria) this;
        }

        public Criteria andDeletionEqualTo(Boolean value) {
            addCriterion("deletion =", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionNotEqualTo(Boolean value) {
            addCriterion("deletion <>", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionGreaterThan(Boolean value) {
            addCriterion("deletion >", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionGreaterThanOrEqualTo(Boolean value) {
            addCriterion("deletion >=", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionLessThan(Boolean value) {
            addCriterion("deletion <", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionLessThanOrEqualTo(Boolean value) {
            addCriterion("deletion <=", value, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionIn(List<Boolean> values) {
            addCriterion("deletion in", values, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionNotIn(List<Boolean> values) {
            addCriterion("deletion not in", values, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionBetween(Boolean value1, Boolean value2) {
            addCriterion("deletion between", value1, value2, "deletion");
            return (Criteria) this;
        }

        public Criteria andDeletionNotBetween(Boolean value1, Boolean value2) {
            addCriterion("deletion not between", value1, value2, "deletion");
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}